-- stack: in.4 -- format: 8 (HyperCard 1) -- flags: 0x4000 (can't delete) -- protect password hash: 2389196536 -- maximum user level: 2 (typing) -- window: Rect(x1=0, y1=0, x2=0, y2=0) -- screen: Rect(x1=0, y1=0, x2=0, y2=0) -- card dimensions: w=0 h=0 -- scroll: x=0 y=0 -- background count: 7 -- first background id: 2643 -- card count: 42 -- first card id: 13730 -- list block id: 3131 -- print block id: 3478 -- font table block id: 0 -- style table block id: 0 -- free block count: 0 -- free size: 0 bytes -- total size: 200512 bytes -- stack block size: 12800 bytes -- created by hypercard version: 0x00000000 -- compacted by hypercard version: 0x00000000 -- modified by hypercard version: 0x00000000 -- opened by hypercard version: 0x00000000 -- patterns[0]: 0x0000000000000000 -- patterns[1]: 0x8000000008000000 -- patterns[2]: 0x8800220088002200 -- patterns[3]: 0x8888222288882222 -- patterns[4]: 0x88AA22AA88AA22AA -- patterns[5]: 0xCCAA33AACCAA33AA -- patterns[6]: 0xEEAABBAAEEAABBAA -- patterns[7]: 0xEEBBBBEEEEBBBBEE -- patterns[8]: 0xFFBBFFEEFFBBFFEE -- patterns[9]: 0xFFBBFFFFFFBBFFFF -- patterns[10]: 0x8010022001084004 -- patterns[11]: 0xFFFFFFFFFFFFFFFF -- patterns[12]: 0x8822882288228822 -- patterns[13]: 0x1122448811224488 -- patterns[14]: 0xC4800C6843023026 -- patterns[15]: 0xB130031BD8C00C8D -- patterns[16]: 0xAA00AA00AA00AA00 -- patterns[17]: 0x8822552288225522 -- patterns[18]: 0x8855225588552255 -- patterns[19]: 0x77DD77DD77DD77DD -- patterns[20]: 0x8000000000000000 -- patterns[21]: 0xAA55AA55AA55AA55 -- patterns[22]: 0x038448300C020101 -- patterns[23]: 0x8244394482010101 -- patterns[24]: 0x8814224188412214 -- patterns[25]: 0x8080413E080814E3 -- patterns[26]: 0x22048C7422179810 -- patterns[27]: 0xBE808808EB088880 -- patterns[28]: 0x25C8328964244C92 -- patterns[29]: 0xA29C41BE2AC914EB -- patterns[30]: 0x40A00000040A0000 -- patterns[31]: 0x8040200002040800 -- patterns[32]: 0xAA00800088008000 -- patterns[33]: 0xFF80808080808080 -- patterns[34]: 0x081C22C180010204 -- patterns[35]: 0xFF808080FF080808 -- patterns[36]: 0xF87422478F172271 -- patterns[37]: 0xBF00BFBFB0B0B0B0 -- patterns[38]: 0xFF7FBE5DA2418000 -- patterns[39]: 0xFAF5FAF5A050A050 -- checksum: 0x0 ----- HyperTalk script ----- on copyright -- THESE SCRIPTS ARE COPYRIGHTED BY MAC HELP COMPANY -- CONTACT AUTHOR FOR PERMISSION TO USE THESE SCRIPTS end copyright on HelpMsg1 String, ThisItem show card field "Help Message Field" put "Explanation of" && ThisItem into card field "Help Message Field" put String into line 3 of card field "Help Message Field" play harpsichord dx ae d if ThisItem contains "button" then set hilite of ThisItem to false end HelpMsg1 on HelpMsg2 String, ThisItem show background field "Help Message Field" put "Explanation of" && ThisItem into background field "Help Message Field" put String into line 3 of background field "Help Message Field" play harpsichord dx ae d if ThisItem contains "button" then set hilite of ThisItem to false end HelpMsg2 on mouseStillDown if the optionKey is down and the shiftKey is down then edit script of the name of the target pass mouseStillDown end if end mouseStillDown on openCard Global RegMessage, DoMessage, VersionMessage if DoMessage is not False then set UserLevel to 2 play boing a answer VersionMessage & Return & "See where to Register or Continue?" & "                                  " & "This program is copyrighted by Mac Help Company, 1988. All Rights Reserved." with "Continue" or "See" if it is "See" then answer RegMessage with "Good Deal" end if end if end OpenCard on CloseStack set userlevel to 5 get the freeSize of this stack if it > 100000 then put the value of it into NumK put Round(NumK/1000) into NumK answer "Because a significant number of transactions have been " & "cleared or deleted, you can reclaim approximately " & NumK & "k of available disk space by compacting this stack." with "Compact" doMenu "Compact Stack" end if end CloseStack on openstack Global GivingDate, ShortGivingDate, LastButtonID1, LastButtonID2 Global ThisField, RegMessage, DoMessage, VersionMessage Global PersonalAddress, BackinAFlash, Transaction, TransName set cursor to 4 if BackinAFlash is not True then put True into BackinAFlash put False into DoMessage hide message box hide menubar put the long date into GivingDate put the short date into ShortGivingDate put 0 into ThisField go to card "RegCard" get background field "Message" put line 1 of it into VersionMessage put VersionMessage & Return & line 2 of it into VersionMessage put line 4 of it into RegMessage set lockscreen to true go to card "a" of background "a" get card field "Statistics" put line 1 of it into AcctNum put line 2 of it into theScroll put line 3 of it into Transaction put line 4 of it into TransName set the scroll of card field "Summary" to theScroll set lockscreen to true --show card button "Account Hilighter" click at the loc of card button "Account Hilighter" put ShortgivingDate into card field "Card Date2" send "ResetFields" to background go to card "RegCard" set lockscreen to false visual effect scroll up to black visual effect scroll up to gray visual effect dissolve if VersionMessage contains "Demo" then put True into DoMessage put "To receive documentation the" && "latest version, send $40.00 (check or money order)" && "to:" & Return & Return & RegMessage into RegMessage else put False into DoMessage end if if card field "Check Address" is empty and DoMessage is False then answer "Please personalize your registered copy of this stack." & " This information will also be used when printing your checks!" with "Cancel" or "OK" if it is "Cancel" then show background field "Message" go to card "Map" pass "openStack" end if hide background field "Message" set the style of card field "Check Address" to opaque ask "Name or Business Name?" put it into line 1 of card field "Check Address" ask "Street address?" put it into line 2 of card field "Check Address" ask "City, State, and Zip?" put it into line 3 of card field "Check Address" ask "Phone Number and/or Drivers License?" put it into line 4 of card field "Check Address" answer "All information is entered. You can make any corrections " & "by moving the cursor on to the address field. Click 'Accept' when done." show card button "Accept" show card button "Don't Accept" set locktext of card field "Check Address" to false else put card field "Check Address" into PersonalAddress go to card "Map" end if end if -- end BackinAFlash end openstack on "CreditSubs" Global BeginCreditField, ExitFlag, ShortGivingDate, TransName put BeginCreditField+4 into EndField set numberformat to 0.00 put true into ExitFlag repeat with i = BeginCreditField to EndField put card field id i into SubName put i+5 into SubAmtID get card field id SubAmtID put it into Amount if Amount is not empty then if SubName is not empty then if the value of Amount is not 0 then put False into ExitFlag put the value of Amount into SubAmt go to card SubName of background "Sub Accounts" put 0 into i put shortGivingDate into ThisDate convert ThisDate to DateItems repeat forever add 1 to i get line i of background field "Sub Amount" if it is empty then put TransName into TempTrans delete last char of TempTrans put shortGivingDate & " $ " & SubAmt && TempTrans into line i of background field "Sub Amount" exit repeat else convert word 1 of it to dateItems put it into Temp if Temp < ThisDate then -- keep going else put TransName into TempTrans delete last char of TempTrans put return before line i of background field "Sub Amount" put shortGivingDate & " $ " & SubAmt && TempTrans into line i of background field "Sub Amount" exit repeat end if end if end repeat add SubAmt to background field "Sub Total" go to card "a" of background "a" end if end if end if end repeat end "CreditSubs" on "UnCreditSubs" Global BeginCreditField, ShortGivingDate, TransName put BeginCreditField+4 into EndField set numberformat to 0.00 repeat with i = BeginCreditField to EndField put card field id i into SubName if SubName is not empty then put i+5 into SubAmtID get card field id SubAmtID if it is not empty then put the value of it into SubAmt if SubAmt is not 0 then go to card SubName of background "Sub Accounts" put 0 into i put shortGivingDate into ThisDate convert ThisDate to DateItems repeat forever add 1 to i get line i of background field "Sub Amount" if it is empty then put 0 - SubAmt into SubAmt put TransName into TempTrans delete last char of TempTrans put shortGivingDate & " $ " & SubAmt && TempTrans into line i of background field "Sub Amount" exit repeat else convert word 1 of it to dateItems put it into Temp if Temp < ThisDate then -- keep going else put 0 - SubAmt into SubAmt put TransName into TempTrans delete last char of TempTrans put return before line i of background field "Sub Amount" put shortGivingDate & " $ " & SubAmt && TempTrans into line i of background field "Sub Amount" exit repeat end if end if end repeat Add SubAmt to background field "Sub Total" go to card "a" of background "a" end if end if end if end repeat end "UnCreditSubs" on "CreditSubs2" Global BeginCreditField, ShortGivingDate, TransName put BeginCreditField+4 into EndField put the ID of this card into ThisCardID set numberformat to 0.00 repeat with i = BeginCreditField to EndField put background field id i into SubName if SubName is not empty then put i+5 into SubAmtID get background field id SubAmtID put the value of it into SubAmt if SubAmt is not 0 then go to card SubName of background "Sub Accounts" put 0 into i put shortGivingDate into ThisDate convert ThisDate to DateItems repeat forever add 1 to i get line i of background field "Sub Amount" if it is empty then put TransName into TempTrans delete last char of TempTrans put shortGivingDate & " $ " & SubAmt && TempTrans into line i of background field "Sub Amount" exit repeat else convert word 1 of it to dateItems put it into Temp if Temp < ThisDate then -- keep going else put TransName into TempTrans delete last char of TempTrans put return before line i of background field "Sub Amount" put shortGivingDate & " $ " & SubAmt && TempTrans into line i of background field "Sub Amount" exit repeat end if end if end repeat add SubAmt to background field "Sub Total" go to ThisCardID end if end if end repeat end "CreditSubs2" on "UnCreditSubs2" Global BeginCreditField, ShortGivingDate, TransName put BeginCreditField+4 into EndField put the ID of this card into ThisCardID set numberformat to 0.00 repeat with i = BeginCreditField to EndField put background field id i into SubName if SubName is not empty then put i+5 into SubAmtID get background field id SubAmtID put the value of it into SubAmt if SubAmt is not 0 then go to card SubName of background "Sub Accounts" put 0 into i put shortGivingDate into ThisDate convert ThisDate to DateItems repeat forever add 1 to i get line i of background field "Sub Amount" if it is empty then put 0 - SubAmt into SubAmt put TransName into TempTrans delete last char of TempTrans put shortGivingDate & " $ " & SubAmt && TempTrans into line i of background field "Sub Amount" exit repeat else convert word 1 of it to dateItems put it into Temp if Temp < ThisDate then -- keep going else put 0 - SubAmt into SubAmt put TransName into TempTrans delete last char of TempTrans put return before line i of background field "Sub Amount" put shortGivingDate & " $ " & SubAmt && TempTrans into line i of background field "Sub Amount" exit repeat end if end if end repeat subtract SubAmt from background field "Sub Total" go to ThisCardID end if end if end repeat end "UnCreditSubs2" on "CheckForExisting" Global TransName, LastCheckNumber, AcctNum, ShortGivingDate Global ExitFlag, NewCardName, Transaction set lockscreen to true go to card NewCardName of background "a" if the result is empty then beep set numberformat to 0.00 put background field "Credit" into aC put background field "Debit" into aD subtract aD from aC answer "On this date you have already made at least one " & "transaction of type '" & Transaction & "' TO THE SAME ACCOUNT "& "for $ " & AC & " What do you wish to do?" with "Cancel" or "View it" or "Make New" if it is "view it" then set lockscreen to false put True into ExitFlag exit "CheckForExisting" else go to card "a" of background "a" if it is "Cancel" then set lockscreen to false put True into ExitFlag exit "CheckForExisting" end if end if end if set lockscreen to false end "CheckForExisting" on "DoDate" Global GivingDate, ShortGivingDate, ExitFlag, DatePhrase if GivingDate is empty then put the long date into GivingDate put GivingDate into ShortGivingDate convert ShortGivingDate to short date put 0 into temp repeat until Temp = GivingDate put GivingDate into Temp put GivingDate into ShortGivingDate convert ShortGivingDate to short date ask DatePhrase & GivingDate & "?" with ShortGivingDate if it contains "To" then put the short date into it if it is "" then put True into ExitFlag exit "DoDate" end if put it into GivingDate convert GivingDate to long date end repeat end "DoDate"